#include <stdio.h>
#include <iostream>
#include "Escenario.h"
#include "Asteroide.h"
#include "EscenarioTest.h"

using namespace std;

int testMoverElemento() {
	Asteroide *asteroide = new Asteroide(10, 0, 1);
	Escenario *e = new Escenario();
	e->add(asteroide, 1, 1);
	
	printMap(e->getElementosPosicionados());
	map<Evolucionable*, Posicion*> posiciones = e->getElementosPosicionados();
	int tiempo = 10;
	cout << "angulo: " << "0" << endl;  
	e->evolucionarPor(tiempo);
	printMap(posiciones);
	asteroide->setAngulo(90);
	cout << "angulo: " << "90" << endl;  
	e->evolucionarPor(tiempo);
	printMap(e->getElementosPosicionados());
	cout << "angulo: " << "180" << endl;
	asteroide->setAngulo(180);
	e->evolucionarPor(tiempo);
	printMap(e->getElementosPosicionados());


	cout << "angulo: " << "30" << endl;
	asteroide->setAngulo(30);
	e->evolucionarPor(tiempo);
	printMap(e->getElementosPosicionados());


	cout << "Fin del test" << endl;
	return 0;
}

void printMap(map<Evolucionable*, Posicion*> posiciones) {
	map<Evolucionable*, Posicion*>::iterator it = posiciones.begin();
	for ( it; it != posiciones.end(); it++ )
		cout << (*it).first << " => x: " << (*it).second->x() << ", y: " << (*it).second->y() << endl;
}